#ifndef VIRTUAL_KEY_H
#define VIRTUAL_KEY_H

#include "kernel/boolean.h"
#include "kernel/externc.h"

typedef enum {
    Key_F1=0X01000030,Key_F2=0X01000031,Key_F3=0X01000032,
    Key_F4=0X01000033,Key_F5=0X01000034,Key_F6=0X01000035,
    Key_F7=0X01000036,Key_F8=0X01000037,Key_F9=0X01000038,
    Key_F10=0X01000039,Key_F11=0X0100003a,Key_F12=0X0100003b,
    Key_Home=0x1000010,Key_End=0x01000011,Key_Left=0x1000012,
    Key_Up=0x1000013,Key_Right=0x1000014,Key_Down=0x1000015,
    Key_PageUp=0x1000016,Key_PageDown=0x1000017,
    Key_Shift=0x1000020,Key_Control=0x1000021,Key_Alt=0x1000023,
    Key_Escape=0x1000000,Key_Tab=0x1000001,Key_BackTab=0x1000002,
    Key_Backspace=0x1000003,Key_Return=0x1000004,Key_Enter=0x1000005,
    Key_Insert=0x10000006,Key_Delete=0x1000007,Key_CapsLock=0x1000024,
    Key_Control_Modifier=0x04000000,Key_Shift_Modifier=0x02000000,
    Key_Alt_Modifier=0x08000000
} VirtualKey;

BEGIN_EXTERNC

Boolean IsKeyF(int key);
Boolean IsKeyArrow(int key);
Boolean IsKeyDelete(int key);
Boolean IsKeyControl(int key);
Boolean IsKeyControllers(int key);
Boolean IsKeyBackspace(int key);
Boolean IsKeyReturn(int key);
Boolean IsKeyControlModifiers(int key);
Boolean IsKeyPageUp(int key);
Boolean IsKeyPageDown(int key);
Boolean IsKeyHome(int key);
Boolean IsKeyEnd(int key);
Boolean isKeySwitchTty(int k, int modify);

END_EXTERNC

#endif // VIRTUAL_KEY_H
